﻿using UnityEngine;
using System.Collections;

namespace PlayerClasses
{
	/// <summary>
	/// Character stats.
	/// </summary>
	public class Character
	{
		private string name;
		private bool alive;
		private int level;
		private int health;
		private int armour;
		private int stamina;
		private int speed;
		private int strength;
		private int agility;
		private int weaponProficiency;
		private int tdmgProficiency;
	
		/// <summary>
		/// Initializes a new instance of the <see cref="PlayerClasses.Character"/> class.
		/// </summary>
		/// <param name="name">Name.</param>
		public Character (string name)
		{
			this.name = name;
			alive = true;
			level = 1;
			health = 1;
			armour = 1;
			stamina = 1;
			speed = 1;
			strength = 1;
			agility = 1;
			weaponProficiency = 1;
			tdmgProficiency = 1;
		}

		/// <summary>
		/// Gets or sets the name.
		/// </summary>
		/// <value>The name.</value>
		public string Name {
			get {
				return name;
			}
			set {
				name = value;
			}
		}

		/// <summary>
		/// Gets or sets a value indicating whether this <see cref="PlayerClasses.Character"/> is alive.
		/// </summary>
		/// <value><c>true</c> if alive; otherwise, <c>false</c>.</value>
		public bool Alive {
			get {
				return alive;
			}
			set {
				alive = value;
			}
		}

		/// <summary>
		/// Gets or sets the level.
		/// </summary>
		/// <value>The level.</value>
		public int Level {
			get {
				return level;
			}
			set {
				level = value;
			}
		}

		/// <summary>
		/// Gets or sets the health.
		/// </summary>
		/// <value>The health.</value>
		public int Health {
			get {
				return health;
			}
			set {
				health = value;
			}
		}

		/// <summary>
		/// Gets or sets the armour.
		/// </summary>
		/// <value>The armour.</value>
		public int Armour {
			get {
				return armour;
			}
			set {
				armour = value;
			}
		}

		/// <summary>
		/// Gets or sets the stamina.
		/// </summary>
		/// <value>The stamina.</value>
		public int Stamina {
			get {
				return stamina;
			}
			set {
				stamina = value;
			}
		}

		/// <summary>
		/// Gets or sets the speed.
		/// </summary>
		/// <value>The speed.</value>
		public int Speed {
			get {
				return speed;
			}
			set {
				speed = value;
			}
		}

		/// <summary>
		/// Gets or sets the strength.
		/// </summary>
		/// <value>The strength.</value>
		public int Strength {
			get {
				return strength;
			}
			set {
				strength = value;
			}
		}

		/// <summary>
		/// Gets or sets the agility.
		/// </summary>
		/// <value>The agility.</value>
		public int Agility {
			get {
				return agility;
			}
			set {
				agility = value;
			}
		}

		/// <summary>
		/// Gets or sets the weapon proficiency.
		/// </summary>
		/// <value>The weapon proficiency.</value>
		public int WeaponProficiency {
			get {
				return weaponProficiency;
			}
			set {
				weaponProficiency = value;
			}
		}

		/// <summary>
		/// Gets or sets the tdmg proficiency.
		/// </summary>
		/// <value>The tdmg proficiency.</value>
		public int TdmgProficiency {
			get {
				return tdmgProficiency;
			}
			set {
				tdmgProficiency = value;
			}
		}
	}
}
